package com.vibration.matlab;

import java.io.Serializable;
import java.util.Arrays;

/**
 * 结构体A
 */
public class A  implements Serializable {

    private  double[][] Nsubiter={{0}}; //初始化数据
    private  double[][] Niter={{100}}; //初始化数据
    private  double[][] Niterf={{100}}; //初始化数据

    public double[][] getNiterf() {
        return Niterf;
    }

    public void setNiterf(double[][] niterf) {
        Niterf = niterf;
    }

    private  double[][] NN={{5}}; //初始化数据
    private  double[][] open={{0}};

    private  int[][] HHS={{1}};

    private  double[][] ZLVs={{0}};

    private  double[][] ZLVp={{1}};

    private  int NC=0;

    private  int[][] limd={};


    private  double[][] var={};

    //三维矩阵
    private double[][][] pol={};

    private double[][] limseg={};

    private double[][] facHHS={};

    private double[][] polHHS={};

    private double[][] ProbLimSupSegHHS={};

    private double[][] LimVelSegHHS={};

    private  double[][] in={{0,0,0,0},{0,0,0,0},{0,0,0,0},{0,0,0,0}};


    private double[][] apsv={{}};

    public double[][] getApsv() {
        return apsv;
    }

    public void setApsv(double[][] apsv) {
        this.apsv = apsv;
    }

    /**
     * 未知矩阵 开始
     * [~ ,b]=sort(L2i);%Ordenando el misfit de menor a mayor
     * aopt=mod(:,:,b(1));%Ordenando midelos de menor a mayor el misfit
     * [L2i1,A.L2opt,A.L2optimo]=deal(L2i(b(1)));
     * [A.NN1,A.NN2]=deal(A.NN/100);
     * [DCopt,HVopt,A.aini]=deal(DCT(:,b(1)),HVT(:,b(1)),aopt);
     */
    private double[][] L2opt={};

    private double[][] L2optimo={};

    private double[][] NN1={};

    public double[][] getL2opt() {
        return L2opt;
    }

    public void setL2opt(double[][] l2opt) {
        L2opt = l2opt;
    }

    public double[][] getL2optimo() {
        return L2optimo;
    }

    public void setL2optimo(double[][] l2optimo) {
        L2optimo = l2optimo;
    }


    public void setNN(double[][] NN) {
        this.NN = NN;
    }

    public double[][] getNN1() {
        return NN1;
    }

    public void setNN1(double[][] NN1) {
        this.NN1 = NN1;
    }

    public double[][] getNN2() {
        return NN2;
    }

    public void setNN2(double[][] NN2) {
        this.NN2 = NN2;
    }

    public double[][] getAini() {
        return aini;
    }

    public void setAini(double[][] aini) {
        this.aini = aini;
    }

    private double[][] NN2={};

    private double[][] aini={};

    /**
     * 未知矩阵结束
     */

    private double[][] flag={{0}};

    public double[][] getFlag() {
        return flag;
    }

    public void setFlag(double[][] flag) {
        this.flag = flag;
    }

    private double[][] AP={{0.5000}};

    private double[][] EA={{0.1000}};

    private double[][] RT={{0.9000}};

    private double[][] T0={{1}};

    public double[][] getT0() {
        return T0;
    }

    public void setT0(double[][] t0) {
        T0 = t0;
    }

    public double[][] getRT() {
        return RT;
    }

    public void setRT(double[][] RT) {
        this.RT = RT;
    }

    public double[][] getEA() {
        return EA;
    }

    public void setEA(double[][] EA) {
        this.EA = EA;
    }

    public double[][] getAP() {
        return AP;
    }

    public void setAP(double[][] AP) {
        this.AP = AP;
    }

    private  int ST=0;

    public double[][][] getPol() {
        return pol;
    }

    public void setPol(double[][][] pol) {
        this.pol = pol;
    }

    public double[][] getLimseg() {
        return limseg;
    }

    public void setLimseg(double[][] limseg) {
        this.limseg = limseg;
    }

    public double[][] getFacHHS() {
        return facHHS;
    }

    public void setFacHHS(double[][] facHHS) {
        this.facHHS = facHHS;
    }

    public double[][] getPolHHS() {
        return polHHS;
    }

    public void setPolHHS(double[][] polHHS) {
        this.polHHS = polHHS;
    }

    public double[][] getProbLimSupSegHHS() {
        return ProbLimSupSegHHS;
    }

    public void setProbLimSupSegHHS(double[][] probLimSupSegHHS) {
        ProbLimSupSegHHS = probLimSupSegHHS;
    }

    public double[][] getLimVelSegHHS() {
        return LimVelSegHHS;
    }

    public void setLimVelSegHHS(double[][] limVelSegHHS) {
        LimVelSegHHS = limVelSegHHS;
    }

    public double[][] getNsubiter() {
        return Nsubiter;
    }

    public void setNsubiter(double[][] nsubiter) {
        Nsubiter = nsubiter;
    }

    public double[][] getNiter() {
        return Niter;
    }

    public void setNiter(double[][] niter) {
        Niter = niter;
    }


    public double[][] getNN() {
        return NN;
    }

    public double[][] getOpen() {
        return open;
    }

    public void setOpen(double[][] open) {
        this.open = open;
    }

    public int[][] getHHS() {
        return HHS;
    }

    public void setHHS(int[][] HHS) {
        this.HHS = HHS;
    }

    public double[][] getZLVs() {
        return ZLVs;
    }

    public void setZLVs(double[][] ZLVs) {
        this.ZLVs = ZLVs;
    }

    public double[][] getZLVp() {
        return ZLVp;
    }

    public void setZLVp(double[][] ZLVp) {
        this.ZLVp = ZLVp;
    }

    public int getNC() {
        return NC;
    }

    public void setNC(int NC) {
        this.NC = NC;
    }

    public int[][] getLimd() {
        return limd;
    }

    public void setLimd(int[][] limd) {
        this.limd = limd;
    }

    public double[][] getVar() {
        return var;
    }

    public void setVar(double[][] var) {
        this.var = var;
    }

    public double[][] getIn() {
        return in;
    }

    public void setIn(double[][] in) {
        this.in = in;
    }

    public int getST() {
        return ST;
    }

    public void setST(int ST) {
        this.ST = ST;
    }

    @Override
    public String toString() {
        return "A{" +
                "Nsubiter=" + Arrays.toString(Nsubiter) +
                ", Niter=" + Arrays.toString(Niter) +
                ", Niterf=" + Arrays.toString(Niterf) +
                ", NN=" + Arrays.toString(NN) +
                ", open=" + Arrays.toString(open) +
                ", HHS=" + Arrays.toString(HHS) +
                ", ZLVs=" + Arrays.toString(ZLVs) +
                ", ZLVp=" + Arrays.toString(ZLVp) +
                ", NC=" + NC +
                ", limd=" + Arrays.toString(limd) +
                ", var=" + Arrays.toString(var) +
                ", pol=" + Arrays.toString(pol) +
                ", limseg=" + Arrays.toString(limseg) +
                ", facHHS=" + Arrays.toString(facHHS) +
                ", polHHS=" + Arrays.toString(polHHS) +
                ", ProbLimSupSegHHS=" + Arrays.toString(ProbLimSupSegHHS) +
                ", LimVelSegHHS=" + Arrays.toString(LimVelSegHHS) +
                ", in=" + Arrays.toString(in) +
                ", apsv=" + Arrays.toString(apsv) +
                ", L2opt=" + Arrays.toString(L2opt) +
                ", L2optimo=" + Arrays.toString(L2optimo) +
                ", NN1=" + Arrays.toString(NN1) +
                ", NN2=" + Arrays.toString(NN2) +
                ", aini=" + Arrays.toString(aini) +
                ", flag=" + Arrays.toString(flag) +
                ", AP=" + Arrays.toString(AP) +
                ", EA=" + Arrays.toString(EA) +
                ", RT=" + Arrays.toString(RT) +
                ", T0=" + Arrays.toString(T0) +
                ", ST=" + ST +
                '}';
    }
}
